package com.cw.java8.lambda;


import com.cw.java8.functionInterface.MyLogger;

/**
 * Lambda表达式无参数演示
 */
public class LambdasUnParameter {

    public static void main(String[] args) {

        //1.匿名内部类实现对接口对象的创建
        MyLogger myLogger = new MyLogger() {
            @Override
            public void log() {
                System.out.println("匿名内部类实现log...............");
            }
        };

        myLogger.log();

        //2.使用Lambda表达式实现对接口对象的创建
        MyLogger myLogger2 = () -> {
            System.out.println("lambda表达式实现log...............");
        };

        myLogger2.log();

        //3.使用Lambda表达式实现对接口对象的创建（如果只有一句代码，可以省略花括号）
        MyLogger myLogger3 = () -> System.out.println("lambda表达式实现log...............");

        myLogger3.log();


        //4.使用匿名内部类创建一个线程
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("匿名内部类实现线程.......");
            }
        });
        thread.start();

        //5.使用Lambda表达式创建一个线程
        Thread thread2 = new Thread( () -> {
            System.out.println("lambda表达式实现线程.......");
        });
        thread2.start();
    }
}
